package br.com.mkmts.business.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.mkmts.business.EstoqueBO;
import br.com.mkmts.dao.cadastro.EstoqueDao;
import br.com.mkmts.dto.ProdutoDTO;
import br.com.mkmts.utils.MkmtsUtil;

@Service
public class EstoqueBOImpl implements EstoqueBO {

	@Autowired
	private EstoqueDao dao = null;

	@Override
	public List<ProdutoDTO> buscarProdutosEstoquePorFiltro(String codMk,
			String nomeProduto, List<Integer> codCategoria,
			boolean estoqueFiltro) {

		if(MkmtsUtil.verificaListNullOrEmpty(codCategoria)){
			codCategoria = new ArrayList<Integer>();
		}
		
		return getDao().findByFilter(MkmtsUtil.verificaStringNula(codMk) ,MkmtsUtil.verificaStringNula(nomeProduto), codCategoria,estoqueFiltro);
	}
	
	@Override
	public ProdutoDTO buscarProdutoEstoque(ProdutoDTO dto) {
		return dao.findProductByCode(dto);
	}
	
	@Override
	public void atualizarEstoquePorProduto(ProdutoDTO dto) {
		List<ProdutoDTO>produtos = new ArrayList<ProdutoDTO>();
		produtos.add(dto);//verificar TIPO DE FLUXO
		dao.updateProductsStock(produtos);
	}
	
	public EstoqueDao getDao() {
		return dao;
	}

	public void setDao(EstoqueDao dao) {
		this.dao = dao;
	}

}
